﻿Imports Entities
Imports Business
Imports DataAccess
Public Class MantencionCamiones
    Private _Camion As New camiones
    Private _CamionesList As New List(Of camiones)

    Private Sub MantencionCamiones_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Limpiar()
        xPatente.Clear()
        Titulo()

    End Sub
    
#Region "Métodos Privados"
    Private Sub Titulo()
        _CamionesList = CamionBL.List
        gGrillaMantencion.DataSource = _CamionesList

        gGrillaMantencion.Font = New Drawing.Font("Tahoma", Util.GridFont, FontStyle.Regular, GraphicsUnit.Point)
      
        If Not IsNothing(_CamionesList) Then
            gGrillaMantencion.Columns("ACTIVO").Visible = False
            gGrillaMantencion.Columns("DESCRIPCION").HeaderText = "Descripción"
            gGrillaMantencion.Columns("PATENTE").HeaderText = "Patente"
            For Each col As DataGridViewColumn In gGrillaMantencion.Columns
                col.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
            Next
            'gGrillaMantencion.Columns("DESCRIPCION").Width = 200
            'gGrillaMantencion.Columns("PATENTE").Width = 100
        End If

    End Sub

    Private Sub Limpiar()

        xDescripcion.Clear()
        bGuardar.Text = "Guardar"

        bEliminar.Enabled = False
    End Sub

    Private Sub cargarCamion()
        If IsNothing(_Camion) Then
            Limpiar()
        Else
            With _Camion
                xPatente.Text = .PATENTE
                xDescripcion.Text = _Camion.DESCRIPCION
            End With
            bGuardar.Text = "Modificar"
            bEliminar.Enabled = True
        End If
    End Sub
#End Region

#Region "Eventos Click"
    Private Sub bGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bGuardar.Click
        If xPatente.Text = "  -  -" Then
            Util.Mensaje("Debe Ingresar la Patente del Camión")
            xPatente.Focus()
        ElseIf xDescripcion.Text = "" Then
            Util.Mensaje("Debe Ingresar una Descripción de Camión")
            xDescripcion.Focus()
        Else
            Dim camion As New camiones
            With camion
                If Not IsNothing(_Camion) Then .PATENTE = _Camion.PATENTE Else .PATENTE = xPatente.Text.ToUpper
                .DESCRIPCION = xDescripcion.Text
                .ACTIVO = True
            End With

            If (CamionBL.Save(camion)) Then
                Util.Mensaje("Camión Guardado Correctamente")
                Titulo()
                Limpiar()
                xPatente.Clear()
                xPatente.Focus()
            Else
                Util.Mensaje("Error al Guardar Camión")
            End If

        End If

    End Sub

    Private Sub bLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bLimpiar.Click
        xPatente.Clear()
        Limpiar()
        Titulo()
    End Sub
    Private Sub gGrillaMantencion_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles gGrillaMantencion.DoubleClick
        If gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow) >= 0 Then
            _Camion = CamionBL.SearchById(gGrillaMantencion.Item("PATENTE", gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow)).Value)
            cargarCamion()
        End If
    End Sub

    Private Sub bCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCancelar.Click
        Me.Dispose()
    End Sub
#End Region
    Private Sub xPatente_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles xPatente.LostFocus
        If xPatente.Text <> "  -  -" Then
            _Camion = CamionBL.SearchById(xPatente.Text)
            cargarCamion()
        End If
    End Sub

    Private Sub bEliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bEliminar.Click
        If Not IsNothing(_Camion) Then
            If CamionBL.Delete(_Camion.PATENTE) Then
                Util.Mensaje("Camión Eliminado Correctamente")
                Limpiar()
                xPatente.Focus()
            Else
                Util.Mensaje("Error al Elimiar el Camión")
            End If
            Titulo()
        End If
    End Sub

    Private Sub xPatente_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xPatente.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub xDescripcion_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xDescripcion.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub
End Class